== Переменные make ==

Переменные могут быть заданы, как в команде сборки
в качестве аргументов, так и в файле настроек
$HOME/.mkimage/profiles.mk.
При запуске на сборку принимается ряд переменных
(см. тж. profiles.mk.sample):

* APTCONF
** задаёт путь к требуемому apt.conf
** значение: пусто (по умолчанию системный) либо строка
** см. image.in/Makefile, doc/apt.conf.sample

* ARCH
** задаёт целевую архитектуру образов
** значение: пусто (по умолчанию авто) либо строка
** см. lib/build.mk

* ARCHES
** задаёт набор целевых архитектур при параметрическом задании APTCONF
** значение: пусто (по умолчанию авто) либо список через пробел
** см. Makefile, doc/profiles.mk.sample

* AUTOCLEAN
** включает уборку (distclean) после успешной сборки образа
** значение: пусто (по умолчанию нет) либо любая строка
** см. lib/build.mk

* BELL
** подаёт сигнал после завершения сборки
** значение: пусто (по умолчанию нет) либо любая строка
** см. lib/build.mk

* BRANCH
** указывает для какого бранча производится сборка
** собирает вместо регулярок стартеркиты
** значение:
*** не определено - пытается определиться автоматически
*** пусто - присваивается значение sisyphus
*** имя бранча (sisyphus, p10, p9)
** см. doc/branch.txt main.mk, conf.d/mixin.mk

* BUILDDIR
** задаёт каталог генерируемого профиля и сборки
** значение: пусто (по умолчанию авто) либо строка
** см. lib/profile.mk

* BUILDDIR_PREFIX
** задаёт префикс каталога генерируемого профиля и сборки
** значение: строка; по умолчанию выбирается алгоритмически
** см. main.mk

* BUILDLOG
** задаёт путь к файлу журнала сборки/очистки
** значение: $(BUILDDIR)/build.log (по умолчанию) либо строка
** см. lib/log.mk

* CHECK
** включает режим проверки сборки конфигурации (без сборки образа)
** значение:
** пусто (по умолчанию) - проверка не осуществляется;
** 0 - прверяется только конфигурация, списки пакетов не проверяются;
** другое значение - полная проверка.
** см. lib/build.mk, lib/clean.mk

* CLEAN
** экономия RAM+swap при сборке в tmpfs, иначе места на диске
** очистка рабочего каталога после успешной сборки очередной стадии
** может помешать использовать некоторые варианты отладки
** значение: пусто, 0, 1, 2; по умолчанию пусто при DEBUG, иначе 1
** см. lib/clean.mk

* DEBUG
** включает средства отладки, может отключить зачистку после сборки
** значение: пусто (по умолчанию), 1 или 2
** см. lib/log.mk, lib/clean.mk

* DISTRO_VERSION
** задаёт версию дистрибутива, если применимо
** значение: пусто (по умолчанию) либо любая строка
** см. image.in/Makefile

* HOMEPAGE, HOMENAME, HOMEWAIT
** указывают адрес, название и таймаут перехода для домашней страницы
** значение: корректный URL, строка, целое неотрицательное число
** см. features.in/live/generate.mk (тж. по умолчаниям)

* IMAGEDIR
** указывает путь для сохранения собранного образа
** значение: равно $HOME/out, если существует, иначе $(BUILDDIR)/out
** (по умолчанию), либо другой путь
** см. lib/profile.mk

* ISOHYBRID
** включает создание гибриднго ISO-образа
** значение: пусто (по умолчанию) либо любая строка
** см. features.in/pack/config.mk, features.in/isohybrid/config.mk

* LOGDIR
** указывает путь для сохранения логов сборки
** значение: равно $(IMAGEDIR) (по умолчанию), либо другой путь
** NB: в силу специфики обработки передаётся только явно
** см. lib/build.mk, lib/profile.mk

* MKIMAGE_PREFIX
** указывает путь до mkimage. Если параметр не указан, то используется системный mkimage

* NICE
** понижает нагрузку системы сборочной задачей
** значение: пусто (по умолчанию) либо любая строка
** см. lib/build.mk

* NO_SYMLINK
** не создавать символические ссылки на собранный образ
** значение: пусто (по умолчанию) либо любая строка
** см. image.in/Makefile

* QUIET
** отключает поясняющие сообщения при сборке (например, под cron)
** значение: пусто (по умолчанию) либо любая строка
** см. Makefile, lib/build.mk, lib/clean.mk, lib/profile.mk

* REPORT
** запрашивает создание отчётов о собранном образе
** требует включения DEBUG и отключения CHECK
** значение:
** пусто (по умолчанию) - создание отчёта выключено
** 2 - создать архив из каталога отчёта
** любая другое непустое значение - создать отчёт в виде каталога
** см. Makefile, report.mk, lib/report.mk

* ROOTPW
** устанавливает пароль root по умолчанию для образов виртуальных машин
** значение: пусто (по умолчанию root) либо строка
** см. features.in/deflogin/rootfs/image-scripts.d/50-root

* SAVE_PROFILE
** сохраняет архив сгенерированного профиля в .disk/
** значение: пусто (по умолчанию) либо любая строка
** см. image.in/Makefile

* SORTDIR
** дополнительно структурирует каталог собранных образов
** значение: пусто (по умолчанию) либо строка
*** например, '$(IMAGE_NAME)/$(DATE)'
** см. image.in/Makefile

* SQUASHFS
** определяет характер сжатия squashfs для stage2
** значение:
*** пусто (по умолчанию) либо normal: xz
*** tight: xz с -Xbcj по платформе (лучше, но дольше -- подбор в два прохода)
*** fast: gzip/lzo (быстрее запаковывается и распаковывается, меньше степень)
** см. features.in/stage2/stage1/scripts.d/03-test-kernel

* STATUS
** добавляет в имя образа указанный префикс
** значение:
*** пусто (по умолчанию) либо строка (например, "alpha", "beta")
** см. image.in/Makefile

* STDOUT
** выводить сообщения при включенном DEBUG одновременно в лог и на экран
** значение:
*** 1 - включить вывод на экран, если включен DEBUG
** см. lib/log.mk

* USE_QEMU
** использовать qemu, если архитектура не совпадает
** значение:
*** 1 (по умолчанию), для отключения используйте любое другое значение
** см. lib/build.mk

* VM_SAVE_TARBALL
** указывает, что нужно сохранить промежуточный тарбол, из которого
** создаётся образ виртуальной машины, в заданном формате
** значения: tar tar.gz tar.xz
** см. features.in/build-vm/lib/90-build-vm.mk

* VM_SIZE
** задаёт размер несжатого образа виртуальной машины в байтах
** значение: пусто (по умолчанию двойной размер чрута) или целое
** см. features.in/build-vm/lib/90-build-vm.mk, bin/tar2vm

[float]
=== пример ===

  make DEBUG=1 CLEAN=1 grub.iso
